//app.js
const WXAPI = require('apifm-wxapi')
const CONFIG = require('config.js')
const AUTH = require('utils/auth')
var Tools=require('./utils/tools')
App({
  onLaunch: function () {
    WXAPI.init(CONFIG.subDomain)
    const that = this;
    // 检测新版本
    const updateManager = wx.getUpdateManager()
    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: '更新提示',
        content: '新版本已经准备好，是否重启应用？',
        success(res) {
          if (res.confirm) {
            // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        }
      })
    })
    /*
    * 初次加载判断网络情况
    * 无网络状态下根据实际情况进行调整
    */
   wx.getNetworkType({
     success(res) {
       const networkType = res.networkType
        console.log(networkType)
       if (networkType === 'none') {
         that.globalData.isConnected = false
         wx.showToast({
           title: '当前无网络',
           icon: 'loading',
           duration: 2000
         })
       }
     }
   });
    // 
      /**
     * 监听网络状态变化
     * 可根据业务需求进行调整
     */
    wx.onNetworkStatusChange(function(res) {
      if (!res.isConnected) {
        that.globalData.isConnected = false
        wx.showToast({
          title: '网络已断开',
          icon: 'loading',
          duration: 2000
        })
      } else {
        that.globalData.isConnected = true
        wx.hideToast()
      }
    })
    // 
        // 自动登录
      //   AUTH.checkHasLogined().then(async isLogined => {
      //     if (!isLogined) {
      //       AUTH.login()
      //     } else {
      //       AUTH.getUserInfo().then((res) => {
      //         const { userInfo } = res
      //         // 更新用户信息
      //       WXAPI.modifyUserInfo({
      //         avatarUrl: userInfo.avatarUrl,
      //         city: userInfo.city,
      //         nick: userInfo.nickName,
      //         province: userInfo.province,
      //         token: wx.getStorageSync('token')
      //       })
      //     })
      //   }
      // })
  },
  onShow(e){
    // 设置购物车徽章
    Tools.showTabBarBadge()
    AUTH.register(); //注册方法
      // 自动登录
      AUTH.checkHasLogined().then(async isLogined => {
        if (!isLogined) {
          AUTH.login()
        } else {
          AUTH.getUserInfo().then((res) => {
            const { userInfo } = res
            // 更新用户信息
            WXAPI.modifyUserInfo({
              avatarUrl: userInfo.avatarUrl,
              city: userInfo.city,
              nick: userInfo.nickName,
              province: userInfo.province,
              token: wx.getStorageSync('token')
            })
          })
        }
      })
  },
  globalData: {
    userInfo: null,
    isConnected:null //网络连接
  }
})